win32: Stop using _gdk_device_query_state
authorMatthias Clasen <mclasen@redhat.com>
Wed, 26 Aug 2020 19:31:45 +0000 (15:31 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 26 Aug 2020 21:56:41 +0000 (17:56 -0400)
Directly use the backend implementation.

gdk/win32/gdkdevice-virtual.c
gdk/win32/gdkdevice-virtual.h
gdk/win32/gdkdevice-win32.c
gdk/win32/gdkdevice-win32.h
gdk/win32/gdkdevice-wintab.c
gdk/win32/gdkdevice-wintab.h
gdk/win32/gdkdrag-win32.c

index cff071de1b0013984edae982a2792e357b7356ef..ee852a9cd0ef5b052e30a8444327c3f69573284e 100644 (file)
@@ -83,7 +83,7 @@ gdk_device_virtual_set_surface_cursor (GdkDevice  *device,
   g_set_object (&GDK_WIN32_SURFACE (window)->cursor, win32_hcursor);
 }
 
-static void
+void
 gdk_device_virtual_query_state (GdkDevice        *device,
                                GdkSurface        *window,
                                GdkSurface       **child_window,
@@ -93,10 +93,10 @@ gdk_device_virtual_query_state (GdkDevice        *device,
 {
   GdkDeviceVirtual *virtual = GDK_DEVICE_VIRTUAL (device);
 
-  _gdk_device_query_state (virtual->active_device,
-                          window, child_window,
-                          win_x, win_y,
-                          mask);
+  _gdk_device_win32_query_state (virtual->active_device,
+                                 window, child_window,
+                                 win_x, win_y,
+                                 mask);
 }
 
 static GdkGrabStatus
index e44e7339b8aaf9013f6da9433211ef99866d9605..3a98dd05c18e6ffd0d11a8ffdaf95e2c1d73f355 100644 (file)
@@ -48,6 +48,15 @@ GType gdk_device_virtual_get_type (void) G_GNUC_CONST;
 void _gdk_device_virtual_set_active (GdkDevice *device,
                                     GdkDevice *new_active);
 
+void
+gdk_device_virtual_query_state (GdkDevice        *device,
+                                GdkSurface       *window,
+                                GdkSurface      **child_window,
+                                double           *win_x,
+                                double           *win_y,
+                                GdkModifierType  *mask);
+
+
 
 G_END_DECLS
 
index bf74f608e784185678ecaa578bd8989898dc61b8..c94ae9f731638c997add8bc7a1058a465949d718 100644 (file)
@@ -26,6 +26,8 @@
 #include "gdkdevice-win32.h"
 #include "gdkwin32.h"
 #include "gdkdisplay-win32.h"
+#include "gdkdevice-virtual.h"
+#include "gdkdevice-wintab.h"
 
 G_DEFINE_TYPE (GdkDeviceWin32, gdk_device_win32, GDK_TYPE_DEVICE)
 
@@ -121,6 +123,22 @@ gdk_device_win32_query_state (GdkDevice        *device,
     *mask = get_current_mask ();
 }
 
+void
+_gdk_device_win32_query_state (GdkDevice        *device,
+                               GdkSurface       *window,
+                               GdkSurface      **child_window,
+                               double           *win_x,
+                               double           *win_y,
+                               GdkModifierType  *mask)
+{
+  if (GDK_IS_DEVICE_VIRTUAL (device))
+    gdk_device_virtual_query_state (device, window, child_window, win_x, win_y, mask);
+  else if (GDK_IS_DEVICE_WINTAB (device))
+    gdk_device_wintab_query_state (device, window, child_window, win_x, win_y, mask);
+  else
+    gdk_device_win32_query_state (device, window, child_window, win_x, win_y, mask);
+}
+
 static GdkGrabStatus
 gdk_device_win32_grab (GdkDevice    *device,
                        GdkSurface    *window,
index 25594124260daedd331dad844cf74767c26448e1..478afb15bd849dff47c65f22a0468d13c5290d3e 100644 (file)
@@ -48,6 +48,13 @@ GdkSurface *_gdk_device_win32_surface_at_position (GdkDevice       *device,
                                                    double          *win_x,
                                                    double          *win_y,
                                                    GdkModifierType *mask);
+void _gdk_device_win32_query_state             (GdkDevice        *device,
+                                                GdkSurface        *surface,
+                                                GdkSurface       **child_surface,
+                                                double           *win_x,
+                                                double           *win_y,
+                                                GdkModifierType  *mask);
+
 
 G_END_DECLS
 
index 50fc2c2e8787a81fd00acc2aeb6fc249e7124c14..498fb2e1d6450f52cd6f4c11ea332ecd5b06d483 100644 (file)
@@ -61,7 +61,7 @@ gdk_device_wintab_set_surface_cursor (GdkDevice *device,
 {
 }
 
-static void
+void
 gdk_device_wintab_query_state (GdkDevice        *device,
                                GdkSurface       *window,
                                GdkSurface      **child_window,
@@ -230,7 +230,7 @@ gdk_device_wintab_class_init (GdkDeviceWintabClass *klass)
   GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass);
 
   device_class->set_surface_cursor = gdk_device_wintab_set_surface_cursor;
-  device_class->query_state = gdk_device_wintab_query_state;
+  device_class->query_state = gdk_x11_device_xi2_query_state;
   device_class->grab = gdk_device_wintab_grab;
   device_class->ungrab = gdk_device_wintab_ungrab;
   device_class->surface_at_position = gdk_device_wintab_surface_at_position;
index 088a84e7f4c35cfee294849d026ac5b4b18bf45a..bac77b5cd3ae0f9b16b8da3486befa390b6bb7d4 100644 (file)
@@ -66,6 +66,14 @@ void         _gdk_device_wintab_translate_axes (GdkDeviceWintab *device,
                                                 double          *x,
                                                 double          *y);
 
+void
+gdk_device_wintab_query_state (GdkDevice        *device,
+                               GdkSurface       *window,
+                               GdkSurface      **child_window,
+                               double           *win_x,
+                               double           *win_y,
+                               GdkModifierType  *mask);
+
 G_END_DECLS
 
 #endif /* __GDK_DEVICE_WINTAB_H__ */
index 53a949b851563b3c7eeab00d9be0165e71799c3e..c21ac6a4769ad5fe7d0bab258f184da08e2771be 100644 (file)
 #include "gdk/gdkdragprivate.h"
 #include "gdkwin32dnd-private.h"
 #include "gdkdisplay-win32.h"
+#include "gdkdevice-win32.h"
 #include "gdkdeviceprivate.h"
 #include "gdkhdataoutputstream-win32.h"
 
@@ -1730,7 +1731,7 @@ _gdk_win32_surface_drag_begin (GdkSurface         *surface,
 
   GDK_NOTE (DND, g_print ("_gdk_win32_surface_drag_begin\n"));
 
-  _gdk_device_query_state (device, NULL, NULL, &px, &py, NULL);
+  _gdk_device_win32_query_state (device, NULL, NULL, &px, &py, NULL);
   x_root = round (px + dx);
   y_root = round (py + dy);
 
@@ -2440,7 +2441,7 @@ gdk_dnd_handle_key_event (GdkDrag  *drag,
   /* The state is not yet updated in the event, so we need
    * to query it here.
    */
-  _gdk_device_query_state (pointer, NULL, NULL, NULL, NULL, &state);
+  _gdk_device_win32_query_state (pointer, NULL, NULL, NULL, NULL, &state);
 
   if (dx != 0 || dy != 0)
     {